
import njust.csc.aecore.utils.FilterUtils
import org.apdplat.word.WordSegmenter
import java.util.logging.Filter
import kotlin.test.Test

/**
 * @Author ZhouHang
 * @Date 24/7/2 周二
 */
class WordTest {
    @Test fun `Test Word Seg`() {
        val words = WordSegmenter.seg(
            "注册 登录 重要通知：由于国内断卡行动日益严重，防止您的银行卡被风控，建议您下载okpay虚拟币钱包或者万币钱包存取款，每天3次免费取款次数，虚拟币存款每笔赠送1%彩金，存款彩金需当天申请(只下注香港/澳门六合不送），钱包下载详情操作可以联系24小时在线客服。 彩票 棋牌 真人 电子 捕鱼 体育 游戏推荐 新幸运飞艇 IG赛车 AFB视讯 AG视讯 香港彩 KY棋牌 皇冠体育 首页 存款 优惠 客服 我的 推荐码 d9bb84 账号 请输入3-16位字母或数字组合 密码 请输入8-20位的数字组合 确认密码 真实姓名 请输入您的真实姓名 手机号码 请输入的您的手机号 微信号码 请输入的您的微信号 QQ号码 请输入的您的QQ号 立即注册 请输入正确信息 未知错误. 再按一次退出应用 游戏\n"
        )
        println(words.get(1).frequency)
    }

    @Test fun `Test Empty String Seg`() {
        val words = WordSegmenter.seg("HS9NsuSPjvAl%2FOX%2FODvpxmyyeD9Jexa%2FoNS68SxMAyw1hQLlnPmX%2FFdZEBoMGb%2Bz")
        println(words)
    }

    @Test fun `Test trimIndent`() {
        val sentence = "yes\n\nApp包含乱码字符和无效签名，表明其可能缺乏安全性和信誉度。"
        println(sentence.split("\n").filter { it.trim().isNotEmpty() })
    }

    @Test fun `Test Pair`() {
        val pair = Pair(true, "2")
        val (judge, reason) = pair
        println(judge)
        println(reason)
    }

    @Test fun `Test boolean`() {
        testBoolean(false, true)
    }

    private fun testBoolean(b1: Boolean, b2: Boolean) {
        if (b1 && b2) {
            println(1)
        } else if (b1 && !b2) {
            println(2)
        } else if (!b1 && b2) {
            println(3)
        } else {
            println(4)
        }
    }

    @Test fun `Test Drop`() {
        val result = "Yes.\n\n理由：\n1. 屏幕截图中有明显的色情内容表现，包括低俗的行为及不雅的穿着。\n2. 文字中提到“私密性爱在线匹配”和“高质量的约炮服务”等不适当的色情描述。\n3. App界面风格和布局显得不专业，有可能涉及违法内容。"
        val res = result.split("\n").filter { it.trim().isNotEmpty() }
        val ret = res.drop(1).joinToString(separator = "\n")
        println(ret)
    }

    @Test fun `Test join`() {
        val l = listOf<String>()
        println(l.joinToString(" "))
    }

    @Test fun `Test lowercase`() {
        val s = "中文".lowercase()
        println(s)
    }

    @Test fun `Test Filter`() {
        val sdks = listOf(
            "kotlin.p000native.concurrent",
            "net.jcip.annotations",
            "androidx.loader.app",
            "androidx.loader.content"
        )
        val sdksNew = FilterUtils.filterSdk(sdks)
        println(sdksNew)
    }

    @Test fun `Test filter`() {
        val times = mutableListOf<Long>(1,2,3,4,5,6,7,8,9,10)
        println(times.filter { it > 5 })
    }
}